/*
 * UI功能模块
 *
 */

define([
    'jquery',
], function($) {
	function f(l){
		var k=0;
		$(l).each(function(){
			k+=$(this).outerWidth(true)
		});
		return k
	}
	function g(n){
		var o=f($(n).prevAll()),
		q=f($(n).nextAll());
		var l=f(n.closest(".content-tabs").children().not(".J_menuTabs"));
		var k=n.closest(".content-tabs").outerWidth(true)-l;
		var p=0;
		if(n.closest(".page-tabs-content").outerWidth()<k){
			p=0
		}else{
			if(q<=(k-$(n).outerWidth(true)-$(n).next().outerWidth(true))){
				if((k-$(n).next().outerWidth(true))>q){
					p=o;
					var m=n;
					while((p-$(m).outerWidth())>(n.closest(".page-tabs-content").outerWidth()-k)){
						p-=$(m).prev().outerWidth();
						m=$(m).prev()
					}
				}
			}else{
				if(o>(k-$(n).outerWidth(true)-$(n).prev().outerWidth(true))){
					p=o-$(n).prev().outerWidth(true)
				}
			}
		}
		n.closest(".page-tabs-content").animate({marginLeft:0-p+"px"},"fast")
	}
	
	function getTimestamp(){
		return Date.parse(new Date()); 
	}
	
    return {
    	addtab: function(url,title,parent_id){
    		if ($.trim(url).length==0){
    			return;
    		}
    		var k = true;
    		var iframe_parent = $(window.parent.document).find("#content-main");
    		iframe_parent.parent().find(".content-tabs").find(".J_menuTabs").find(".J_menuTab").each(function(){
    			if($(this).data("id").substring(0,$(this).data("id").indexOf("?")) == url.substring(0,url.indexOf("?"))){
    				if(!$(this).hasClass("active")){
    					var _this = $(this);
    					$(this).addClass("active").siblings(".J_menuTab").removeClass("active");
    					g($(this));
    					iframe_parent.find("iframe.J_iframe").each(function(){
    						if($(this).data("id")==url){
    							$(this).show().siblings(".J_iframe").hide();
    							return false
    						}
    						else if($(this).data("id").substring(0,$(this).data("id").indexOf("?")) == url.substring(0,url.indexOf("?"))){
    							$(this).show().siblings(".J_iframe").hide();
    							$(this).attr('src', url);
    							$(this).attr('data-id', url);
    							_this.attr("data-id",url);
    							return false
    						}
    					})
    				}
    				k=false;
    				return false
    			}
    		});	
    		if (k){
    			var index = getTimestamp();
    			var menuTab_parent =  iframe_parent.parent().find(".content-tabs").find(".J_menuTabs .page-tabs-content");
    			var p='<a href="javascript:;" class="active J_menuTab" data-parent_id="'+parent_id+'" data-id="'+url+'">'+title+' <i class="fa fa-times-circle"></i></a>';
    			menuTab_parent.find(".active.J_menuTab").removeClass("active");
    			var n='<iframe class="J_iframe" name="iframe'+index+'" width="100%" height="100%" src="'+url+'" frameborder="0" data-id="'+url+'" seamless></iframe>';
    			iframe_parent.find("iframe.J_iframe").hide().parents(".J_mainContent").append(n);
    			menuTab_parent.append(p);
    			g($(".J_menuTab.active",menuTab_parent));
    		}
        }
    };
});